1. Technical Field
The present invention relates in general to a method and system for improved data processing, and in particular to a method and system for improved data transfer between data processing systems. Still more particularly, the present invention relates to a method and system for efficient bi-directional parallel port data transfer between data processing systems.
2. Description of the Related Art
Since the advent of personal computer systems, personal computers (PCs) have been equipped with one or more parallel ports. Initially, the parallel port of a PC was designed to provide an efficient means of unidirectional data transfer to a local printer. IBM PCs and compatible data processing systems utilize a standard parallel port, which includes 8 data lines and 5 status lines. Because the standard parallel port was originally conceived to serve solely as an interface to a printer or other similar peripheral device, the data flow was designed to be unidirectional--from the PC to the printer. Consequently, early PCs were equipped with unidirectional parallel ports, within which the 8 data lines were write-only and the 5 status lines were read-only. With write-only data lines, a PC could not receive data via the parallel port.
More recently, interest has developed in bi-directional data transfer between data processing systems. For example, a user with both a lap top or portable computer and a desk top PC may wish to transfer files or other data between the two systems. In response to this apparent need, manufacturers have developed a host of hardware and software enhancements to PCs which enable bi-directional data transfer between the parallel ports of two data processing systems. One well-known hardware and software standard which enables bi-directional parallel port data transfer is the Enhanced Parallel Port (EPP), developed by Intel in conjunction with Zenith and Xircom. Although the EPP is compatible with most PCs since it utilizes the same 25-pin D-shell connectors as standard parallel ports, the EPP requires the use of an Intel EPP-compatible chipset. Utilizing the additional features provided by the Intel EPP-compatible chipset, operation of the parallel port is controlled by software via a so-called "fast parallel port control register." This system for bi-directional parallel port data transfer has been adopted as IEEE Standard 1248.
Manufacturers have also developed software packages, such as Lap Link by Traveling Software, which enable bi-directional data transfer between the parallel ports of data processing systems without requiring additional hardware. Although software-based methods of data transfer are easily implemented, software-based methods of bi-directional parallel port data transfer are often slow compared to the processor clock rate of the data processing systems due to the slow execution speed of input and output operations to the standard parallel port. If, for example, an IBM PC/AT is transferring data to a data processing system utilizing a PowerPC RISC processor, the speed of the transfer is determined by the rate at which the IBM PC/AT can output the data. Since the "in" and "out" instruction utilized to control the PC parallel port are tied to the 8 MHz clock rate of the IBM PC/AT ISA standard bus, the rate of data transfer will be slow as compared to the execution speed of the controlling software executing within the IBM PC/AT processor, and particularly slow as compared to the operating speed of a PowerPC processor-based system.
Although algorithms which enable data transfer between data processing systems with differing speeds require a minimum number of port I/O operations to transfer the data and to synchronize the two data processing systems, prior art algorithms utilize a greater number of port I/O operations than are necessary. Consequently, it would be desirable to provide a method and system for efficient bi-directional parallel port data transfer which require no additional or replacement hardware and which minimize the number of port I/O operations.